//
//  HcardHttpmanager.h
//  CheekiOS
//
//  Created by mac on 2017/5/11.
//  Copyright © 2017年 mac. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "HcardManagerTool.h"
#import "StrangerInfoModel.h"
#import "UsermodelManager.h"

typedef enum {
    KAddCircle_wordsType=1,//文字
    KAddCircle_photoType,//图片
    KAddCircle_vedioType //视频
}addCircleType;


typedef enum{
    KToAublumNO, //不是相册
    KToAublumYES //是相册
}ToAublum;

typedef enum {
    KSeeTypeAll=1,//所有人可见
    KSeeTypeOnlyme,//仅自己可见
    KSeeTypeOnlySomeonesCanSee,//部分人可见
    KSeeTypeOnlySomeonesCannotSee//部分人不可见
}seeType;

typedef enum {
    KInCharmType=1,//收入
    KOutCharmType//支出
}inOutCharmType;

typedef enum{
    KGiftTypeSended=1, //我发出的礼物
    KGiftTypeReceived//我收到的礼物
}giftType;

typedef enum{
    KCommonQues=1, //普通的问题
    KSpecialQues //小编专访
}type;

typedef enum{
    KCharmDetailListTypeAll = 0,//全部
    KCharmDetailListTypeIncome=1,//收入
    KCharmDetailListTypeExpense,//支出
}charmDetailListType;

@interface HcardHttpmanager : NSObject
/**
 *  闪约宝贝列表
 */
+ (void)sListWithUid:(NSString *)uid
                 lon:(NSNumber *)lon
                 lat:(NSNumber *)lat
            hometown:(NSString *)hometown
                 sex:(NSString *)sex
              maxAge:(NSString *)maxAge
              minAge:(NSString *)minAge
            disatnce:(NSString *)distance
         videoStatus:(NSNumber *)videoStatus
                page:(NSNumber *)page
                sort:(NSString *)sort
            withRows:(NSNumber *)rows
              active:(NSString *)active
        successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 *  我不/喜欢他/她
 */
+(void)likeHerOrHimWithWid:(NSString *)wid
                     state:(NSString *)state
              successBlock:(void (^)(BOOL isSuccess, NSDictionary *resultDic))successBlock
                   failure:(void (^)(NSError * error))failure;
/**
 *  申请添加好友
 */
+ (void)helloWithUid:(NSString *)uid
                 wid:(NSString *)wid
              mobile:(NSString *)mobile
        successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;
/**
 *  闪约宝贝详情
 */
+ (void)sInfoWithUid:(NSString *)uid
                myId:(NSString *)myId
        successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;
/**
 拉黑
 */
+(void)blackFriendWithWid:(NSString *)wid
                  Success:(void (^)(id result))success
                  failure:(void (^)(NSError * error))failure;


/**
 发布朋友圈
 */
+(void)publishFriendCircleWithType:(addCircleType)type
                       WithContent:(NSString *)content
                         WithVideo:(NSString *)video
                           WithImg:(NSString *)img
                      WithLocation:(NSString*)loc
                       WithSeetype:(NSInteger)seeType
                      WithSomebody:(NSString *)somebodyUid
                        WithRemind:(NSString *)remindUid
                           Success:(void (^)(id result))success
                           failure:(void (^)(NSError * error))failure;

/**
上传图片多张 
 */

+(void)upLoadPhotosWithFileArr:(NSArray*)imageArr
                    WithBelong:(NSString*)belong
                  WithToAublum:(ToAublum)ToAlblum
                   WithAlbumId:(NSString*)AlbumId
                       success:(void (^)(id sucess))success
                       failure:(void (^)(NSError * error))failure;

//上传图片(单张)
+(void)upLoadPhotosWithFile:(UIImage*)image
                 WithBelong:(NSString*)belong
               WithToAublum:(ToAublum)ToAlblum
                WithAlbumId:(NSString*)AlbumId
                    success:(void (^)(id sucess))success
                    failure:(void (^)(NSError * error))failure;

/**
 发布状态：视频转码
 */
+ (UIImage*)thumbnailImageForVideo:(NSURL *)videoURL
                            atTime:(NSTimeInterval)time;

/**
 视频转码成图片上传接口
 *
 *  @param img          图片流
 *  @param imgBelong    图片所属类型 uHeadImg用户头像，idCardImg 身份证图片 h *  @param successBlock 成功返回
 */
+ (void)uploadImageWithImage:(UIImage *)img
                   imgBelong:(NSString *)imgBelong
                successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock;

/**
 上传视频和语音

 */
+ (void)upLoadVideoVideoPath:(NSURL *)videoURL
                  WithBelong:(NSString *)belong
               uploadSuccess:(void (^)(id sucess))sucess
               uploadFailure:(void (^)(NSError * failure))failure
                    progress:(void (^)(NSProgress * progress))progress;

// 获取z钻石
+(void)getuserInfocharmsuccess:(void (^)(id sucess))success
                   failure:(void (^)(NSError * error))failure;


/**
 购买和支出钻石
 @param charm 钻石
 @param cost 金额
 @param note 描述
 @param inOutCharmType 1是收入
 @param transNo 流水号
 @param charm1 魅力值
 @param firstCharge 是否第一次充值
 @param success 回调
 @param failure 错误信息
 */
+(void)inOutCharmWithCharm:(NSString *)charm
                  withCost:(NSString *)cost
                  withNote:(NSString *)note
                  withType:(inOutCharmType)inOutCharmType
               withTransNo:(NSString*)transNo
                withCharm1:(NSString *)charm1
           withfirstCharge:(NSString *)firstCharge
                   success:(void (^)(id result))success
                   failure:(void (^)(NSError * error))failure;


//获取我的礼物列表
+(void)getMyGiftsWith:(giftType)type
              withLoc:(CLLocation*)loc
             withPage:(NSInteger)page
             withRows:(NSInteger)rows
              success:(void (^)(id result))success
              failure:(void (^)(NSError * error))failure;


/**
//赠送礼物
 @param wid 对方ID
 @param giftId 礼物ID
 @param status 1 需要对方领取 2直接送达
 @param askId 关联问题ID
 */
+(void)giveGiftWithWid:(NSString*)wid
            WithGiftId:(NSString*)giftId
            WithStatus:(NSString *)status
             WithAskId:(NSString *)askId
               Success:(void (^)(id result))success
               failure:(void (^)(NSError * error))failure;

//获取陌生人赠送的礼物列表
+(void)getGiftListWithPage:(NSInteger)page
                  withRows:(NSInteger)row
                   Success:(void (^)(id result))success
                   failure:(void (^)(NSError * error))failure;


//获取问题列表
+(void)getAskListWith:(type)type
             withPage:(NSInteger)page
             withRows:(NSInteger)rows
              success:(void (^)(id result))success
              failure:(void (^)(NSError * error))failure;



//陌生人送礼物之后 去留言
+(void)giftMsgWithUserGiftId:(NSString *)userGiftId
                     WithMsg:(NSString *)msg
                     Success:(void (^)(id result))success
                     failure:(void (^)(NSError * error))failure;

//评论回复某个人
+(void)CommentreplyUid:(NSString *)Uid
               content:(NSString *)content
               replyId:(NSInteger )replyId
              circleId:(NSInteger )circleId
               trystId:(NSInteger )trystId
               Success:(void (^)(id result))success
               failure:(void (^)(NSError * error))failure;

                
//请求朋友圈回复数据内容
+(void)FriendNewContentUserId:(NSString *)userId
                 successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock
                      failure:(void (^)(NSError * error))failure;


//请求朋友圈回复历史消息
+(void)FriendNewhistoryUserId:(NSString *)userId
                         page:(NSInteger )page
                         rows:(NSInteger )rows
                 successBlock:(void(^)(BOOL isSuccess, NSDictionary *resultDic))successBlock
                      failure:(void (^)(NSError * error))failure;
//个人信息设置
+(void)MakePersionalInfoWithParam:(NSDictionary*)param success:(void (^)(id sucess))success
                          failure:(void (^)(NSError * error))failure;
//获取个人信息
+(void)getPersionalInfosuccess:(void (^)(id sucess))success
                       failure:(void (^)(NSError * error))failure;

//获取个人信息 UserInfo
+(void)getPersionalUserInfosuccess:(void (^)(id sucess))success
                       failure:(void (^)(NSError * error))failure;



//身份认证
+ (void)getUserCardValidateName:(NSString *)name
                      idcardnum:(NSString *)cardnum
                        success:(void (^)(id sucess))success
                        failure:(void (^)(NSError * error))failure;



/**
 收支明细
 @param charmDetailListType 类型
 @param page 页数
 @param rows 内容
 @param success 回调
 @param failure 错误
 */
+(void)getCharmDetailListWithType:(charmDetailListType)charmDetailListType
                         withPage:(NSInteger)page
                         withRows:(NSInteger)rows
                          success:(void (^)(id result))success
                          failure:(void (^)(NSError * error))failure;


/**
 申请提现
 @param cost 魅力值转换成的钱
 @param endCost 魅力值转换成的钱
 @param zfb 支付宝
 @param charm1 魅力值

 */
+(void)applyForWithdrawingMoneyWithCost:(NSString *)cost
                            WithEndCost:(NSString *)endCost
                                WithZfb:(NSString *)zfb
                                Withcharm1:(NSString *)charm1
                                success:(void (^)(id result))success
                                failure:(void (^)(NSError * error))failure;

///获取提现手续费率
+(void)getFeeSuccess:(void (^)(id result))success
             failure:(void (^)(NSError * error))failure;

//职业获取
+(void)getProfessionalSuccess:(void (^)(id result))success
             failure:(void (^)(NSError * error))failure;


///获取魅力值兑换RMB率
+(void)getFeecharm1ToCostSuccess:(void (^)(id result))success
             failure:(void (^)(NSError * error))failure;



//提现记录
+(void)getWithDrawHisWithPage:(NSInteger)page
                     withRows:(NSInteger)rows
                      success:(void (^)(id result))success
                      failure:(void (^)(NSError * error))failure;
//修改手机绑定验证手机号
+(void)getUsercheckMobile:(NSString *)Mobile
                  success:(void (^)(id result))success
                  failure:(void (^)(NSError * error))failure;


//获取出发名单
+(void)getPunishmentListsWithPage:(NSInteger)page
                         withRows:(NSInteger)row
                          Success:(void (^)(id result))success
                          failure:(void (^)(NSError * error))failure;


//删除照片
+(void)deletePhotoWithPhotoId:(NSUInteger)photoId
                      Success:(void (^)(id result))success
                      failure:(void (^)(NSError * error))failure;

//获取标签
+(void)getSkillsKindsSuccess:(void (^)(id sucess))success
                     failure:(void (^)(NSError * error))failure;

//收益明细
+(void)getCharm1ListWithUid:(NSString *)Uid
                         withPage:(NSInteger)page
                         withRows:(NSInteger)rows
                          success:(void (^)(id result))success
                          failure:(void (^)(NSError * error))failure;

/**
 获取新手任务状态列表
 @param Uid 用户ID
 @param page 页数
 @param rows 条数
 @param success 回调
 @param failure 错误信息
 */
+(void)getTaskReceiveWithUid:(NSString *)Uid
                    WithPage:(NSInteger )page
                    WithRows:(NSInteger )rows
                     success:(void (^)(id result))success
                     failure:(void (^)(NSError * error))failure;



/**
 获取新手任务状态列表
 @param taskId 任务ID
 @param uid 用户
 @param charm 钻石
 @param success 回调
 @param failure 错误信息
 */

+ (void)getreceiveCharmWithtaskId:(NSString *)taskId
                          WithUid:(NSString *)uid
                        WithCharm:(NSString *)charm
                          success:(void (^)(id result))success
                          failure:(void (^)(NSError * error))failure;

/**
 分享任务

 @param taskId 任务ID
 @param success 回调
 @param failure 错误信息
 */
+ (void)getshareTaskWithTaskId:(NSString *)taskId
                       success:(void (^)(id result))success
                       failure:(void (^)(NSError * error))failure;

/**
 举报
 @param Uid 我的用户id	必传
 @param reportUid 被举报的用户id	必传
 @param Img 截图
 @param reason 举报内容
 */
+ (void)getReportUid:(NSString *)Uid
           reportUid:(NSString *)reportUid
                 Img:(NSString *)Img
              reason:(NSString *)reason
             success:(void (^)(id result))success
             failure:(void (^)(NSError * error))failure;


/**
 启动页

 */
+ (void)getStartpagesuccess:(void (^)(id result))success
                    failure:(void (^)(NSError * error))failure;

/**
 清空最新回复消息
 @param Uid 用户ID
 */
+ (void)getFrienduserCircleEmpty:(NSString *)Uid
                         success:(void (^)(id result))success
                         failure:(void (^)(NSError * error))failure;



/**
 帮助与反馈
 @param uid 用户ID
 @param content 内容
 */
+ (void)getFeedBackUid:(NSString *)uid
               content:(NSString *)content
               success:(void (^)(id result))success
               failure:(void (^)(NSError * error))failure;

/**
 判断是否为测试用户
 0是 1不是   
 @param uid 用户ID
 */
+ (void)getCommonOpen:(NSString *)uid
              success:(void (^)(id result))success
              failure:(void (^)(NSError * error))failure;

@end
